package form;

import java.rmi.RemoteException;
import java.util.Hashtable;

import javax.servlet.http.HttpServletRequest;

import connexion.Connexion;

import rmi.IServeurRmi;
import beans.Erreur;
import beans.Patient;

public class ValidationNewPatient 
{
	public static boolean form(HttpServletRequest request, Patient patient, Erreur erreur)
	{
		IServeurRmi serveur = Connexion.connecterServeur();
		boolean res = true;
		
		try 
		{
			Hashtable <String, String> err = new Hashtable<String, String>();
			
			if (request.getParameter("nom") == "")
			{
				err.put("nom", "veuillez entrer un nom");
				res = false;
			}
			else
				patient.setNom(request.getParameter("nom"));
			
			if (request.getParameter("prenom") == "")
			{
				err.put("prenom", "veuillez entrer un prenom");
				res = false;
			}
			else
				patient.setPrenom(request.getParameter("prenom"));
			
			if (request.getParameter("taille") != "")
			{
				try 
				{
					patient.setTaille(Integer.parseInt(request.getParameter("taille")));
				}
				catch (NumberFormatException nfe)
				{
					err.put("taille", "veuillez n'entrer que des chiffres");
					res = false;
				}
			}
			
			if (request.getParameter("poids") != "")
			{
				try
				{
					patient.setPoids(Integer.parseInt(request.getParameter("poids")));
				}
				catch (NumberFormatException nfe)
				{
					err.put("poids", "veuillez n'entrer que des chiffres");
					res = false;
				}
			}
			
			if (request.getParameter("age") == "")
			{
				err.put("age", "veuillez entrer un age");
				res = false;
			}
			else
			{
				try
				{
					patient.setAge(Integer.parseInt(request.getParameter("age")));
				}
				catch (NumberFormatException nfe)
				{
					err.put("age", "veuillez n'entrer que des chiffres");
					res = false;
				}
			}
			
			erreur.setErr(err);
			
			if (res)
			{
				serveur.enregistrerPatient(patient);
			}
		} 
		catch (RemoteException e) 
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		return res;
	}
}
